延續昨天的文章,今天來做PHP新增資料表的內容(不影響資料表結構)。
注意! 跟資料庫有關的動作 都要用FORM標籤包起來<form method="post" action=""></form>
程式碼
<?php
/*新增會員等級*/
if (isset($_POST['add_role_btn']))
{
$staff_role = $_POST['add_role'];
//資料庫INSERT(新增)語法 :
//"INSERT INTO資料表(欄位1,欄位2...) VALUES ('值1,值2...')";
$staff_r = "INSERT INTO add_role(STAFF_ROLE) VALUES('$staff_role')";
$staff_run = mysqli_query($con,$staff_r);
}
?>
<form method="post" action="" onsubmit="return validateForm()"name="ROLEEEEE">
<input type="text"
placeholder="請輸入會員等級"
name="add_role"
id="roleeeee">
<button name="add_role_btn">新增</button>
</form>
這種跟輸入有關的,建議都寫一個防全空白的JS,如下
JS用到的:
<!--FORM標籤的 onsubmit="return validateForm()"name="ROLEEEEE"
BUTTON標籤的 id="roleeeee"
(可上下對照一下)-->
<script>
function validateForm()
{
var x = document.forms["ROLEEEEE"]["roleeeee"].value;
if (x == "")
{
alert("等級不可為空");
return false;
}
}
</script>
心得:
寫這種PHP要注意每個標籤裡面的name值,以及資料庫語法是否完整、能對應你的資料表(例如 : 你的資料表有3個欄位 ,且有個欄位還用到【外部鍵】,如果照我上面這樣寫,就很有可能無法新增。解決辦法就是那一個【外部鍵】欄位要做選單來新增,這樣外部鍵的值就嘿確保不會空白、符合外部鍵的內容)
再補充個東西,我在弄這個時有個小小問題卡了一下子,那就是這張【表add_role】只有一個PK欄位(PK欄位的值不能重複),導致我檢查結果時因為用"過往輸入的內容(瀏覽器的表單紀錄)"一直無法新增,就是因為"PK欄位的值不能重複",所以資料表才會一直沒有變動。